/**
 * 目标二：压缩 js 里代码，并整合到 html 中一起运行
 *  2.1 读取 public/index.js 内容
 *  2.2 使用正则替换内容字符串里的，回车符\r 换行符\n 打印语句console.log('xxx');
 *  2.3 确认后，拼接 html 内容写入到 dist/index.html 内
 */

// 导入 fs 模块处理文件，导入 path 模块处理路径
const fs = require('fs')
const path = require('path')

try {
  // 1. 读取 public/index.js 内容
  const data = fs.readFileSync(path.join(__dirname, './public/index.js'))
  const scriptStr = data.toString()
  // 2. 使用正则替换内容字符串里的，回车符\r 换行符\n 打印语句console.log('xxx');
  // \. 匹配普通符号    .+? 非贪婪模式
  const scriptReulstStr = scriptStr.replace(/[\r\n]/g, '').replace(/console\.log\(.+?\);/g, '')
  // 3. 确认后，拼接 html 内容写入到 dist/index.html 内
  // 3.1 读取 html 文件并压缩
  const htmlStr = fs.readFileSync(path.join(__dirname, './public/index.html'))
  const htmlReulstStr = htmlStr.toString().replace(/[\r\n]/g, '')
  // 3.2 拼接 html + js 写入文件
  fs.writeFileSync(path.join(__dirname, './dist/index.html'), htmlReulstStr + `<script>${scriptReulstStr}</script>`)
  // 成功提示
  console.log('压缩成功')
} catch (error) {
  // 失败提示
  console.log('压缩失败', error)
}